Network switches switching units are at the core of any communication network. A network switch typically has one or more input ports and one or more output ports, wherein data communication packets are received at the input ports, processed by the network switch through multiple packet processing stages, and routed by the network switch to other network devices from the output ports according to control logic of the network switch.
Access control list (ACL) is a list of rules often used by a network switch to filter network traffic by limiting (e.g., permitting or denying) network packets access to certain source/destination IP ports and/or addresses. ACL is typically stored the memory of the network switch in the form of tables. In some cases, they are stored in TCAM memories. For each incoming packet, the ACL rules can be looked up by the network switch via search/lookup operations on the tables stored in the memory of the network switch and control logic of the network switch takes actions as instructed by the table search results or takes a default action in case of a table search miss.
Wildcard matching (WCM) is a type of pattern/mask matching by a network switch where matching of fields can either be an explicit match or a wildcard match where presence of the wildcard indicates a don't care field that any arbitrary value can match. WCM lookup result is a set of rules commonly used by the network switch for routing network traffic where a wildcard match means the network switch does not care what the value is in the specified field. In some embodiments, WCM can also be “hybrid”, which supports range matching where any value within a range value pairs would result in a match.
Static random-access memory (SRAM) is one type of memory commonly used in network switches, wherein SRAM supports direct memory access and typically has lower power consumption and occupies less space in a network switch compared to other types of memories (e.g., TCAM). Traditionally, SRAM is not always suitable for maintaining and handling ACL lookup operations because of its lack of support for multiple possible states that include a “Don't Care” or “X” state. With the increasing demand of high throughput network switches, it is desirable to enable SRAM to accommodate ACL lookup and WCM operations including range matching in a network switch for additional flexibility.
The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent upon a reading of the specification and a study of the drawings.